package cn.haoma.base.socket.inf;

import cn.haoma.base.socket.Msg;

public interface SocketHandler {
    /**
     * @param msg 收到服务器的消息
     */
    public void onMsgReceived(Msg msg);

    public void onRegistMsgListener(MsgListener listener);

    /**
     * 有Handler申请监听连接状态
     *
     * @param listener
     */
    public void onRegistStatusListener(ConnectionStatusListener listener);

    /**
     * @param msg
     * @param callBack 用于传递msg收到系统回调的消息。根据msg.what先判断成功还是失败
     */
    public void onSendMsg(Msg msg, MsgCallBack callBack);

    /**
     * 连接断开
     */
    public void onSocketClosed();

    /**
     * 连接成功
     */
    public void onSocketConnected();

    public void onUnregistMsgListener(MsgListener listener);

    public void onUnregistStatusListener(ConnectionStatusListener listener);
}
